// 基本逻辑
type L = 1
type R = 2
type X = 3
type Y = 4
type T = L extends R ? X : Y

// 以下是惰性求值在[表达式类型]中的情况
// - 某些情况下，是TypeScript中"显示类型的方式"表现出来的"类似于延迟计算"的现象
// - 带模版参数的模版字符串字面量类型
type T1 = `${any}` // `_${string}_` ...
type Trans<T> = T // 验证
// type TransX = {a: keyof X2} // 验证2